package edgeTSQL

import (
	"errors"
	"fmt"
	"gitee.com/fierce_wolf/go-fox-edge-common/commUtil/Number"
	"time"
)

func DeleteRecords(maxHour int) error {
	if API == nil {
		return errors.New("没有绑定具体的数据库API实现")
	}

	// 查询相关数据表表
	times, err := QueryTableTimes()
	if err != nil {
		return err
	}

	// 对数据库表名的时间，进行排序
	orderTables(times, "ASC")

	// 计算过去的时间
	datetime := time.Now().UnixMilli() - int64(maxHour)*3600*1000

	// 准备处理的数据库表
	timestamp := Number.ParseInt64(time.UnixMilli(datetime).Format("2006010215"))
	for _, val := range times {
		if timestamp > val {
			tblName := tableName + "_" + fmt.Sprintf("%010d", val)
			API.DropTable(tblName)
		}
	}

	return nil
}
